Service Data Objects
Service Data Objects(サービスデータオブジェクト、SDO)とは、様々なデータを統一的にアクセスできるようにする技術である。2004年、BEAシステムズとIBMが共同で開発し、Java Community Process が承認した。2005年11月、Service Component Architectureの一部としてバージョン2.0が登場した。
他の技術との関連
[編集]当初 Web Data Objects(ウェブデータオブジェクト、WDO)と呼ばれ、IBM WebSphere Application Server 5.1 と IBM WebSphere Studio Application Server 5.1.2 の一部としてリリースされた[1]。他の類似の技術としては、JDO, EMF, JAXB, ADO.NET がある。
設計
[編集]Service Data Objects は言語に依存しないデータ構造を利用し、各種サービス提供実体間の通信を可能にする。木構造とその上での走査(幅優先/深さ優先)方法を提供し、クライアントプログラムが要素を操作できるようにする。オブジェクトは静的(フィールド数固定)でも、無制限のフィールドを持てる動的な構造でもよい。仕様では、全フィールドにメタデータが定義され、オブジェクトのグラフについて変更サマリーを提供することで、プログラムがデータをより効率的に扱えるようにする。
開発元
[編集]2007年4月以降、仕様はOASISの Open CSA[2]が策定しており、BEAシステムズ・IBM・Rouge Wave・オラクル・SAP・Siebel・Sybase・Xcalia・Software AGとサン・マイクロシステムズが参加している。それ以前からある非公式な協業組織 Open SOA[3] もこれに協力している。
実装
[編集]- Rogue Wave Software (HydraSDO)
- CodeFutures Software (FireStorm/SDO)
- Xcalia (Java および .Net)
- BEA (AquaLogic Data Services Platform)
- IBM (Virtual XML Garden)
- IBM (WebSphere Process Server)
オープンソース実装としては、以下のものがある。
- Apache Tuscany(Java および C++)
- SOA PHP